feat(studio): assets/blocks panel behaviors + preview helpers#2216
feat(studio): assets/blocks panel behaviors + preview helpers#2216ukimsanov wants to merge 1 commit into
Conversation
c6864b7 to
e2986a7
Compare
0bc1efe to
ce89d8e
Compare
miga-heygen
left a comment
There was a problem hiding this comment.
Reviewed as part of the 25-PR NLE overhaul stack. Full stack review on #2205 (the keystone). No blockers on this PR. — Miga
vanceingalls
left a comment
There was a problem hiding this comment.
R1 — Batch E · assets/blocks panel behaviors + preview helpers
Reviewed as PR 6 of 6 in Batch E (topmost PR in Batch E; sits atop the stack). Head SHA ce89d8e08da3922ed52022cca2ca8185d78b6a7e.
Verdict: 🟢 LGTM
Nine files, +243/-85 across block-drop, music-beat analysis, render-clip helpers, and preview-helper utilities. Complementary to the swap — no regression in blockInstaller (unchanged), and the new install-in-flight guard is a real improvement.
Verification
- Landing point: sits atop
studio-dnd/pr24-timeline-visual-refresh(#2215 head). useBlockHandlers.ts(+55/-27): adds aninstallingBlockRefguard that returns null + toasts "A block is already installing — one moment…" when a block install is in flight.handleAddBlockandhandleTimelineBlockDropboth funnel throughrunBlockInstall. Prevents stacked installs during the full-preview-reload window. Clean pattern.useMusicBeatAnalysis.ts(+72/-36): net +36, refactors the analysis surface. No cross-boundary concerns.useRenderClipContent.ts(+24/-6): additive.studioPreviewHelpers.ts(+10/-0) with matching test additions (+65/-8). Coverage moves with code.BlocksTab.tsx(+8/-1),StudioRightPanel.tsx(+8/-3),StudioGlobalDragOverlay.tsx(+1/-3): small UI plumbing.studioUrlState.test.ts(-1): single removed line, benign.
No deletions of source files. No .fallowrc.jsonc touches. No cross-package touches. No dangling imports (there was nothing removed to dangle).
Nothing to block on.
R1 by Via
b2afda9 to
3d07daa
Compare
6d3c7ee to
67e76f2
Compare
65bb55e to
e72c0ac
Compare
4db56fc to
116a67c
Compare
e72c0ac to
1279392
Compare
miguel-heygen
left a comment
There was a problem hiding this comment.
Final rebase review: current head inspected, latest required checks pass, no unresolved blocking findings. Approving; stack order/invariants remain as specified.
1279392 to
dfbf4fc
Compare
0fd092c to
8201043
Compare
dfbf4fc to
d3dc115
Compare
8201043 to
d8bc202
Compare
d3dc115 to
b178604
Compare
d8bc202 to
a969043
Compare
b178604 to
c9c0f21
Compare
miguel-heygen
left a comment
There was a problem hiding this comment.
Re-audit current head c9c0f21: required checks pass; no new actionable threads. Approving current head.
miguel-heygen
left a comment
There was a problem hiding this comment.
Re-reviewed current head and verified the addressed feedback and required behavior. Approval is for this exact head; Graphite mergeability may still be pending.
What: blocks tab install flow, right-panel and global drag-overlay polish, music beat analysis and clip-content rendering hooks, and the preview-helper utilities backing asset preview. Why: completes the studio NLE stack on top of the visual refresh. How: modified files only (kept as one PR: splitting further would produce sub-150-LOC fragments of interdependent panel glue). Test plan: bunx vitest run studioPreviewHelpers/studioUrlState suites; tsc --noEmit; fallow audit clean.
a969043 to
f3186e1
Compare
c9c0f21 to
a2a8bf4
Compare

What
blocks tab install flow, right-panel and global drag-overlay polish, music beat analysis and clip-content rendering hooks, and the preview-helper utilities backing asset preview.
Why
completes the studio NLE stack on top of the visual refresh.
How
modified files only (kept as one PR: splitting further would produce sub-150-LOC fragments of interdependent panel glue).
Test plan
bunx vitest run studioPreviewHelpers/studioUrlState suites; tsc --noEmit; fallow audit clean.
Stack position 25/25 — studio NLE overhaul (CapCut-parity timeline + canvas). Graphite manages bases; merge from #2192 upward. Temporary
TEMP(studio-dnd)fallow entries (unwired-component windows) are all removed by #2213 (app-shell swap), whose tree is byte-identical to the fully-verified integration branch.